home *** CD-ROM | disk | FTP | other *** search
- 10 ' *********************************************
- 20 ' * *
- 30 ' * PASSWORD.BAS - example program *
- 40 ' * *
- 50 ' * *
- 60 ' * by Robert Hendrix *
- 70 ' * 1080 Bouldercrest Dr. *
- 80 ' * Watkinsville, GA *
- 90 ' * *
- 100 '* *
- 110 '*********************************************
- 120 '
- 130 KEY OFF : DIM USERNAME$(15), PASSWORD$(15)
- 140 '
- 150 ' ========= ROUTINE TO DISABLE CTRL - BREAK COMBINATION ==================
- 160 '
- 170 DEF SEG=0
- 180 POKE &H6C,&H53
- 190 POKE &H6D,&HFF
- 200 POKE &H6E,&H0
- 210 POKE &H6F,&HF0
- 220 '
- 230 '========== OPEN AND READ VALUES FROM PASSWORD FILE ======================
- 240 '
- 250 OPEN "I",#1,"filename.dat"
- 260 FOR X=1 TO 15 : IF EOF(1) THEN 290 ' Set up for 15 user ID's
- 270 INPUT #1,USERNAME$(X),PASSWORD$(X)
- 280 NEXT
- 290 CLOSE #1
- 300 '
- 310 '========= ASK USER TO TOGGLE CAPS LOCK ===============================
- 320 '
- 330 CLS:LOCATE 25,1 : PRINT "Have you pressed the caps lock key to the ";
- 340 COLOR 31 : PRINT "ON "; :COLOR 7:PRINT " position (Y or N)?"
- 350 YESNO$ = INKEY$ : IF YESNO$ = "" THEN 350
- 360 IF YESNO$ = "Y" THEN 390
- 370 LOCATE 24,10 : PRINT "It dosen't feel right to me . . try again !";
- 380 FOR M=1 TO 1250 :NEXT : PRINT SPC(50); : GOTO 330
- 390 LOCATE 24,1 : PRINT SPC(50):LOCATE 25,1 : PRINT SPC(50)
- 400 '
- 410 '========= ASK USER FOR HIS/HER NAME ===================================
- 420 '
- 430 CLS : LOCATE 5,5 : INPUT "Please enter your name "; NME$
- 440 IF NME$="JUNK" THEN END
- 450 LOCATE 7,5 : PRINT "Thank-you " NME$
- 460 FOR J=1 TO 850 : NEXT
- 470 '
- 480 '========= MATCH NAME ENTERED WITH NAME SAVED FROM PASSWORD FILE ==========
- 490 '
- 500 IF NME$="" THEN 540
- 510 FOR Z=1 TO 15
- 520 IF NME$ = USERNAME$(Z) THEN 590
- 530 NEXT Z
- 540 CLS : LOCATE 5,5 : PRINT "****** INVALID USERNAME ******"
- 550 FOR N=1 TO 850 : NEXT : GOTO 760
- 560 '
- 570 '========= ASK FOR USER'S PASSWORD =======================================
- 580 '
- 590 CLS : LOCATE 5,5 : PRINT "Please enter your password "
- 600 PS$ = INKEY$ : IF PS$ = "" THEN 600
- 610 IF ASC(PS$) = 13 THEN 660
- 620 PASSWD$ = PASSWD$ + PS$ : GOTO 600
- 630 '
- 640 '======== TEST FOR PASSWORD MATCH =========================================
- 650 '
- 660 IF PASSWD$ = PASSWORD$(Z) THEN 800
- 670 CLS : LOCATE 5,5 : PRINT " **** INCORRECT PASSWORD **** " : PASSWD$=""
- 680 '
- 690 '========= ALLOW 4 ATTEMPTS TO GET PASSWORD RIGHT ========================
- 700 '
- 710 FOR N=1 TO 850 : NEXT : COUNT = COUNT + 1 : IF COUNT < 4 THEN 590
- 720 FOR N=1 TO 1250: NEXT: LOCATE 5,5: PRINT " Number of attempts exceeds limit!": COUNT = 0: EXCEEDS.ATTEMPTS = 1
- 730 '
- 740 ' ============== SET CAPS-LOCK TO 'ON' ===================================
- 750 '
- 760 DEF SEG = &H40 : POKE &H17,PEEK(&H17) OR 64 :GOTO 430 ' START AGAIN
- 770 '
- 780 ' =========== SUCCESSFUL ENTRY =====================
- 790 '
- 800 CLS : SYSTEM
-